package com.itjin.service;

import com.itjin.model.domain.dto.DialogDTO;
import com.itjin.model.domain.entity.DialogLog;
import com.itjin.model.domain.vo.EmotionAnalysisVO;
import com.itjin.model.result.Result;

import java.util.List;
import java.util.Map;

/**
 * AI心理分析服务接口
 */
public interface AIanalysisService {

  /**
   * 分析用户对话并保存记录
   * 
   * @param dialogDTO 对话内容
   * @return 情绪分析结果
   */
  Result<EmotionAnalysisVO> analyzeDialog(DialogDTO dialogDTO);

  /**
   * 获取用户历史对话记录列表
   * 
   * @param userId 用户ID
   * @return 对话记录列表
   */
  Result<List<DialogLog>> getUserDialogHistory(Integer userId);

  /**
   * 获取单条对话记录详情
   * 
   * @param dialogId 对话ID
   * @return 对话详情
   */
  Result<DialogLog> getDialogDetail(Integer dialogId);

  /**
   * 获取用户情绪趋势分析
   * 
   * @param userId 用户ID
   * @param days   天数，如7表示最近7天
   * @return 情绪趋势数据
   */
  Result<Map<String, Object>> getUserEmotionTrend(Integer userId, Integer days);

  /**
   * 删除对话记录
   * 
   * @param dialogId 对话ID
   * @param userId   用户ID (用于权限校验)
   * @return 删除结果
   */
  Result<Boolean> deleteDialog(Integer dialogId, Integer userId);
}
